function Person(name, gender, age) { /* Code04 */
    this.name = name;
    this.gender = gender;
    this.age = age;

    function print() {
        console.log(this.name, this.gender, this.age);
    }
}

function Sinaean() {}

// 创建一个 Person 实例 作为 Sinaean 对象的原型
Sinaean.prototype = new Person(); // 创建 Person 实例时并未指定任何参数值
console.log(Sinaean.prototype.name, Sinaean.prototype.hasOwnProperty('name'));
console.log(Sinaean.prototype.gender, Sinaean.prototype.hasOwnProperty('gender'));
console.log(Sinaean.prototype.age, Sinaean.prototype.hasOwnProperty('age'));

// 程序执行到这里，哪一项中的内容是 Sinaean 所没有”继承”过来的

// 因为 Sinaean 内部没有处理它的参数，所以这里传入的三个参数没意义
let s = new Sinaean("张三丰", 108, "男");
// s.print(); // TypeError: s.print is not a function

console.log(s.name, s.hasOwnProperty('name')); // undefined false
console.log(s.__proto__.name, s.__proto__.hasOwnProperty('name')); // undefined true